import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;

public class MySQLConnectionTest {
    // 数据库连接信息（根据实际情况修改用户名和密码）
    private static final String DB_URL = "jdbc:mysql://192.168.147.220:3306/ecommerce_db?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true";
    private static final String USER = "root"; // 例如之前配置的 '2325231739@qq.com'
    private static final String PASSWORD = "123456"; // 例如之前配置的 '123456'

    public static void main(String[] args) {
        Connection connection = null;
        Statement statement = null;
        try {
            // 加载MySQL JDBC驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            System.out.println("正在尝试连接数据库...");

            // 建立连接
            connection = DriverManager.getConnection(DB_URL, USER, PASSWORD);
            System.out.println("恭喜！成功连接到 MySQL 数据库！");

            // 创建 Statement 对象（关键修复点）
            statement = connection.createStatement();

            // 这里可以添加简单的查询测试（可选）
            String tableName = "country_order_return";
            System.out.println("正在查询表: " + tableName);

            // 查询该表的第一行数据 (注意表名包含空格需要用反引号包围)
            ResultSet dataRs = statement.executeQuery("SELECT * FROM `" + tableName + "` LIMIT 1");
            if (dataRs.next()) {
                System.out.println("查询到表 `" + tableName + "` 的第一行数据:");
                // 输出该行的所有列（只输出第一列作为示例）
                System.out.println("第一列数据: " + dataRs.getObject(1));
            } else {
                System.out.println("表 `" + tableName + "` 中没有数据");
            }


        } catch (ClassNotFoundException e) {
            System.err.println("找不到MySQL JDBC驱动，请检查依赖是否正确");
            e.printStackTrace();
        } catch (SQLException e) {
            System.err.println("数据库连接失败！错误信息：" + e.getMessage());
            e.printStackTrace();
        } finally {
            // 关闭连接
            if (connection != null) {
                try {
                    connection.close();
                    System.out.println("数据库连接已关闭");
                } catch (SQLException e) {
                    System.err.println("关闭连接时发生错误：" + e.getMessage());
                }
            }
        }
    }
}
